package com.wh.dao;

import java.util.List;
import java.util.Map;

public interface BaseDao {
	/**
	 * 返回数据list
	 * 
	 * @param map
	 * @return
	 */
	public <T> List<T> selectByMap(Map<String, Object> map);

	/**
	 * 返回数据list
	 * 
	 * @param t
	 * @return
	 */
	public <T> List<T> selectByModel(T t);

	/**
	 * 计算总数
	 * 
	 * @param map
	 * @return
	 */
	public Integer count(Map<String, Object> map);

	/**
	 * 插入数据，通过Model传参数
	 * 
	 * @param t
	 */
	public <T> Integer insertByModel(T t);

	/**
	 * 插入数据，通过map传参数
	 * 
	 * @param map
	 */
	public Integer insertByMap(Map<String, Object> map);

	/**
	 * 修改数据，通过model传参数
	 * 
	 * @param t
	 */
	public <T> Integer editByModel(T t);

	/**
	 * 修改数据，通过map传参数
	 * 
	 * @param map
	 */
	public Integer editByMap(Map<String, Object> map);

	/**
	 * 通过map参数删除数据
	 * 
	 * @return
	 */
	public Integer delByMap(Map<String, Object> map);

	/**
	 * 通过T参数删除数据
	 * 
	 * @return
	 */
	public <T> Integer delByModel(T t);

	/**
	 * 审核
	 * 
	 * @param map
	 * @return
	 */
	public Integer audit(Map<String, Object> map);

	/**
	 * 排序
	 * 
	 * @param map
	 * @return
	 */
	public Integer sort(Map<String, Object> map);
}
